美国21世纪CPS教育报告的专业课程规划及启示
本期继续刊发言十对“美国21世纪CPS教育报告”的系列解读文章(美国21世纪CPS教育报告的课程结构设计及启示,美国21世纪CPS教育报告简介)。文章结合“新工科”建设的理念,对报告关于专业课程规划与课程分类进行解读,并提出借鉴和思考。
0 引 言
21 世纪 CPS 教育报告 [1-2](以下简称“报告”) ,基本按照工程教育专业认证体系 [3],符合美国工程与技术认证委员会(ABET)的要求,给出了5个本科专业4年课程规划。此处“专业课程”是指按照课程分类表(见表1)中的 “专业教育课程”,我们试图主要是从“办学者”和“教学者”的角度,结合“新工科”建设的理念,对报告关于专业课程规划与课程教学方面进行解读。
1 课程分类指导意见
“报告”认为,CPS是新兴的具有重大经济和社会效益的工程领域。交通运输、医药、能源、国防和信息技术等主要工业部门,越来越需要一支能够设计并工程化CPS产品和服务的人才队伍。这些产品和服务将信息元素(计算硬件和软件)与物理组件紧密结合在一起,并对它们的交互及对物理环境产生的影响进行管理。美国科学院、工程院、医学院3家联合组成专门委员会,邀请来自多个工业领域的业界人士对CPS在工业界中日益增长的重要性和CPS技能需求进行研讨,提出了很多意见,CPS教育如何设置课程,委员会最终形成以下指导性意见:
(1)确定了CPS学科的6个基础:基本计算概念、实体世界的计算、离散和连续数学、交叉应用、CPS系统开发、建模。明确CPS教育超越了传统的动力系统模型(常微分或差分方程),不仅体现在实体层面的物理影响,而且体现在“信息(Cyber)”与“实体(Physical)”的交叉与交互上。
(2)强调传感器的特性和原理重要性。传感器是连接物理和信息世界之间的硬件桥梁,理解传感器及物理世界的约束,并以适当的方式使用传感器。程序员需要知道这些原理和通过信号处理技术进行处理,来确保它们开发的CPS正常工作。信号处理所需的原理包括线性信号和系统理论、模拟和数字滤波、时域和频域分析、卷积、线性变换(如离散傅立叶变换和快速傅里叶变换)、信号噪声和统计特征、机器学习、决策和传感器融合。在CPS中,与考虑传感器的可靠性一样,对于嵌入式CPU上的这些信号处理技术的实现,实时运行和安全关键特性是必须重视的,而经典信号处理课程一般不涉及这些问题。
(3)控制是CPS的主要内容之一。控制理论的相关要素包括网络、混合系统、随机系统和数字系统控制技术的稳定和优化。在信息域中特别重要的是对分布式系统的控制和固有延迟的影响。
(4)网络、无线、实时已深入到我们的经济和社会中,了解这些主题的基本原理对于CPS工程非常重要。学生需要知道的知识包括:
•通信和网络。需要理解CPS的物理层原理、协议、分层架构,了解无线通信的实际性能。
•实时。需要了解诸如实时调度理论、程序中的时间语义以及网络中的时钟同步等。
•分布式系统。CPS在许多应用中的分布式性质和网络化应纳入CPS教育。即使传统工程或计算机科学课程涵盖了分布式系统和网络化,但这些课程往往不涉及CPS问题。CPS将硬件实现与算法运行的软件相结合,全部在现实环境中运行。
•嵌入式系统。对嵌入式软件的原理、编程、算法、软件设计、方法和平台(架构和操作系统)进行有力的教学和培训工作,这些对于开发可靠和高质量CPS系统的信息组件是必需的。
•物理特性。了解并能够对环境的物理特性建模和硬件平台非常重要。软件设计原则应满足安全性、可靠性、实时性、风险管理、安全需求,这些解决物理世界实际问题的方法应该成为课程的一部分。
•人机交互。人机工程、人为环境控制以及对人类行为反应的理解和计算对于许多CPS来说非常重要。一个重要的设计原则是使CPS易操作、易控制和易维护。类似于其他工程学科,实践项目和跨学科的团队合作也是理解和应用核心原理的基础。
委员会也注意到了目前已运行的系统的差距,例如网络攻击的脆弱性以及互操作性差。建议在CPS早期课程中介绍以下特性及相关的设计方法,并引入贯穿到CPS课程和计划中。
•安全隐私。所有基于信息技术的系统都会受到网络攻击。许多CPS系统是非常脆弱的,因为它们处在开放环境中,或以无线通信方式交互。安全和隐私风险技术对CPS系统设计至关重要。
•互操作性。特别是在大规模CPS中,系统将由许多组件构成,这些组件来自于不同供应商,部分可能有不同的实体运行情况。实现CPS的全部目标将需要异构组件和系统之间具有互操作性。而实现互操作性则需要掌握如何定义和使用共同架构、标准化接口和数据标准等方面的知识。
•可靠性和可信性。许多CPS系统将成为我们日常生活的一部分,CPS的实用化要求很高的可靠性和可信性。由于许多CPS设备的计算能力、内存和资源有限,这会带来一些新问题出现。最好的系统是设计之初就考虑了可靠性(和安全性),而不是在测试期间不断地修复系统。CPS还需要具备鲁棒性,以应对设计之初可能难以量化的不确定性。为了确保这些不确定性能够得到解决,必须在实施阶段跟踪并处理这些不确定性。
•功耗和能耗管理。一些CPS组件紧凑的尺寸和自主操作,使能耗管理非常关键,应该优先设计考虑。
•安全。随着CPS在日常生活中的应用,确保CPS对人类和环境的操作是安全的非常重要。与这些行为相关的风险应该是可以被评估和管控的。
•稳定性和性能。由于CPS是动态的、随机的,它的稳定性包含系统的线性或非线性、带宽、采样率、系统的极点和零点、模型的噪声和不确定性,以及传感器和执行器的局限性(例如噪声或饱和)。
•人机工程和可用性。人机工程设计、人机环境友好以及对人类行为及反应的理解和计算,对于许多CPS应用来说都很重要。
2 专业课程内容设计
2.1 课程规划基本原则
报告给出了专业课程规划的重点,以报告中的CPS专业为例,对报告中关于专业教育课程规划的基本原则,总结归纳见表2。
2.2 课程内容设置范例
报告同时还对具体课程内容的设置,给出了明确的要求和范例,以下是报告给出的课程内容的设置范例。
(1)课程内容设置范例一:
课程名称:生命攸关应用的嵌入式软件。
开课学校:宾夕法尼亚大学,Insup Lee,Sanjian Chen。
课程代码:CIS 541/441。
先修课程:C或Java编程,计算机体系结构或操作系统导论。
课程描述[5]:本课程侧重于CPS,重点关注实时问题。CPS是计算和通信与物理过程的集成。嵌入式计算机实时监控和控制物理过程。随着这些嵌入式计算机越来越网络化,相信会有革命性的转变。就像个人计算机已经从文字处理机向信息收集和共享的全球通信设备转变一样,嵌入式计算机也将通过感知、监控和控制我们的物理环境,从小型独立的系统转变为CPS。
该课程旨在研究构建高可信安全CPS的原理、方法和技术。主题包括需求分析和建模、智能模型、可信案例、危险性分析、实时编程和通信、实时调度和虚拟机、计算机系统的反馈控制、检验和验证以及循证认证。
该课程还将包括一系列的安全关键的嵌入式系统实施项目,如起搏器或输液泵。
课程主题:
1. CPS导论
•CPS应用程序
•特点和挑战
2.需求、建模和分析
•基于模型的开发
•需要获取和建模
•状态机,定时自动机
•属性和模型检验
•用户心理模型
•架构描述语言
•代码生成和综合
3.实现范式和技术
•实时操作系统
•编程范型和语言
•组合与基于反馈的实时调度
•计算机系统中的反馈控制
•虚拟机,监控程序,内核隔离
•组件,嵌入式系统的即插即用功能
•混合关键系统
•分布式实时系统概念:排序,全局时间,时钟同步
•安全和隐私
4.验证,检验和认证
•测试覆盖和生成
•基于模型的测试
•闭环测试
•运行时监控和验证技术
•人机交互
•模块化和循证认证
•危险性分析,保证案例
讲义:
1. CPS导论
2.实时嵌入式系统导论
3.实时操作系统,虚拟机,监控程序
4.实时调度:EDF,RM,服务器,优先级反转
5.多处理器实时调度
6.实时编程语言和范式
7.分布式实时系统:全局排序,全局时间,时钟同步
8.计算机系统中的反馈
9.医疗CPS
10.起搏器挑战问题
11.案例
12.医疗器械质量问题——FDA观点
13.形式化建模和模型检验
14.扩展有限状态机,定时自动机
15.UPPAAL工具集:定时自动机和定时CTL,模型检验
16.状态机的代码生成/综合
17.测试,测试覆盖,测试生成
18.实时测试,基于模型的测试,闭环测试
19.运行时验证
•架构描述语言,AADL
20.人机交互:用户界面
21.用户心理模型
22.项目介绍:起搏器建模和实现,案例和演示
(2)课程内容设置范例二:
课程名称:嵌入式系统导论:CPS方法。
开课学校:加州大学伯克利分校,Edward A. Lee、Sanjit A. Sehsia。
课程代码:EECS 149 / 249A。
先修课程:信号与系统、计算机体系结构、离散数学。
课程描述:课程向学生介绍了与物理过程相互作用的计算系统的设计和分析。这些系统的应用包括医疗设备和系统、消费电子产品,玩具和游戏、辅助生活、交通控制和安全、汽车系统、过程控制、能源管理和保护、环境控制、飞机控制系统、通信系统、仪器仪表、关键基础设施控制(例如电力、水资源和通信系统)、机器人技术和分布式机器人技术(远程监控,远程医疗)、国防系统、制造业、智能建筑。
本课程的主题是实际设计与系统模型(包括软件组件和系统动力学)之间的相互作用。主要重点将放在构建具有实时和并发行为的高可信度系统上。
本课程作为一般本科课程(EECS 149)和硕士研究生课程(EE C249A和CS C249A)。参加研究生课程的学生需要做额外的作业,并对该项目有更高的要求。
本课程包括一系列实验室实践,它们最终将成为一个必须涉及课程中不同主题的团队项目。
课程主题
1.计算模型
•有限状态机
•线程
•常微分方程
•混成系统
•离散事件
•数据流
2.基本分析,控制和系统仿真
•仿真
•可达性分析
•控制器综合
•连续时间系统估计
3.与实体世界交互
•传感器/执行器建模和标定
•多实时流的并发性
•软件中非精确数据处理
4.嵌入式平台
•实时操作系统
•执行时间分析
•调度
•并发性
5.分布式嵌入式系统
•协议设计
•可预测网络
•安全性
讲义:
1.CPS概述
2.传感器和执行器
3.基于模型的设计和连续动力学
4.内存体系结构
5.输入和输出
6.模态行为和离散系统建模
7.扩展和时间自动机
8.状态机组成
9.分级状态机
10.规约和时间逻辑
11.状态机比较
12.可达性分析
13.CPS中的时序逻辑
14.多任务
15.操作系统,微内核与调度
16.调度反转
17.执行时间分析
18.同步,反应和数据流模型
19.嵌入式系统的安全性
20.网络化嵌入式系统
3 报告带来的借鉴和参考
分析报告中关于专业教育课程规划与内容设置的论述,结合其他相关信息资料,我们认为有以下几点值得借鉴和参考:
1) 课程及课程内容的设置遵循工程教育与专业认证规范。
以社会需求为导向,充分了解企业的需求,认真听取企业专家的意见。报告介绍了参加研讨会的企业主要代表,其中包括:
(1)汽车工业的福特研发及高级工程部提出,为什么汽车工业界对于CPS人才的需求越来越多?尽管基础的汽车工程知识(如动力传动系,燃烧和排放)仍然是根本,但汽车工程师们还需要能够设计、开发和测试包括通信、传感以及更复杂计算机控制系统。福特公司希望有朝一日加入公司的员工能具备更强的CPS基础。
(2)航空交通业的霍尼韦尔公司认为,在航空交通运输业中,CPS扮演着越来越重要的角色,许多CPS密集型系统(例如飞机、机场、空中交通管制、维护和乘客服务)构成了空中交通环境。
(3)农业和建筑设备约翰•迪尔公司的系统架构师指出,农业和建筑设备业正变成CPS密集型行业。例如,该公司生产部分或完全自动驾驶汽车,提供车辆间无线MESH和车载信息服务连接,远程更新和产品故障诊断,并正为其产品收集的农业数据开发新的应用。此外,现在的一个大型的工业化农场是一个系统中的系统(SoS),需要一套系统的方法来开发和部署产品与服务,这与关注单个产品的传统农场截然不同。
(4)医疗器械的美敦力公司认为医疗器械越来越强大的健康功能,包括监测和诊断患者健康状况,维持生命(起搏器),或者通过减轻疼痛感来改善身体状况,而当今的工程师们并没有具备开发未来医疗器械所需的全部能力。
(5)航空航天的喷气推进实验室(JPL)负责设计、建造、部署和运行航天器系统,主要项目包括火星科学实验室“好奇号”火星车和“卡西尼”探测器等。喷气推进实验室发现很难找到已经拥有所需CPS技能和其他工程技能的毕业生,打算通过参与实践项目和高级工程师指导的形式来培养新员工。
(6)CPS开发工具的SimuQuest公司,该公司是一家软件公司,开发的产品支持基于模型的系统工程。公司明确提出他们所寻找的员工需具备的关键知识技能:受控对象建模、算法设计、控制系统设计、理解网络和工程流程。CPS技能还有一个新的重点,包括非确定性、时序和延迟管理,以及协同仿真。
由此可知,来自企业的意见,对CPS教育的课程规划起了非常重要的作用。
2)课程纲要(syllabus)是一门课程最重要的文件。
查阅报告列出的两门课程的网页[5-6],我们可以看到,任课老师编写的课程纲要内容完整严谨,其中包括本课程的目的、使用的教科书和参考书目、课程内容、进度安排、作业要求和提交时间、考试日期、成绩结构、评分标准、学科政策(包含考勤、迟交功课等)和学术政策(处理作弊抄袭的政策等)等,纲要里还要包括授课老师和助教的联系方式和答疑的时间和地点。它既是“课程”这个“产品”的说明书,也是师生之间的一个“契约”,对学生来说只要遵守课程纲要的要求通过这门功课的问题就不大。而对教师来说,课程纲要是指导也是一种约束,教师在教学过程中一般不得随意更改纲要所列出的教学内容和教学时间安排,考试也只能测验其中包括的内容。
3) 教学过程严格,教学方法与模式多样。
以加州大学伯克利分校的“嵌入式系统导论”课程为例,一门课程两个代码,课堂授课不分本科生和研究生,但要求不同,区别体现在“做额外的作业,并对该项目有更高的要求”,这在国内(指内地,下同)几乎难以行通。但这种教学组织模式却是真正的“现代化”,真正体现了“效率”,体现了“做中学,学中做”的现代教学模式。同时还可以看出,课堂授课对一门课程的教学而言,并非是最重要的,而“做”才是最重要的。如他们普遍采用或者是小班“研讨式”授课,或者是采用“大班授课,小班研讨”的教学模式。这与国内的教学传统理念有很大差异,因为我们对教学的考核,计算教师上了多少节课是首要的,最重要的,在很多大学甚至是唯一的。并且国内大学对教学的基本资源的建设和管理也主要集中在教学楼(教室)和课堂授课。因此,从教学的理念到教学的模式,我们基本上还停留在农耕时代。加州大学伯克利分校的这种教学模式其实有其理论依据,如图1所示的“学习金字塔”。虽然图中的具体数据并不一定科学可靠,但对学习者而言,6种不同的教与学方法所可能获得的效果,实践证明基本趋势是符合的。
我们还可以了解到,美国一些好的大学,课程的考试特别多,每周都有大大小小的考试,课外阅读材料多,实验多,每次课堂的作业量很大。这些在国内几乎不可能。
4) 强调基于项目的学习(project-based learning)。
报告认为基于项目的学习对CPS教育至关重要。基于项目的学习在目前大学工程课程中越来越多。CPS特别适合“做中学”,在实验室而不是在教室学。在实验室中教师与学生接触,促进学生的创造力、团队合作和最终产品的有效完成。学生选择真正的实际问题,在团队合作中为这些问题建立完整的典型的解决方案。学生构建硬件,通过现有的硬件组件组成新的硬件系统,并学习将硬件与有效的软件集成,以形成真实问题的解决方案。除课堂项目外,学生还通常需要完成设计课程项目(capstone projects),整合具有多领域专业知识的学生团队,合作进行大型项目。
5) 教师的学术研究对课程教学非常重要。
报告所列两门课程,虽冠以“导论”之名,但课程实际内容的广度、深度及创新性,都是非常强的。而开设这两门课程的主讲教师,加州大学伯克利分校的Edward A. Lee和Sanjit A. Sehsia,宾夕法尼亚大学的Insup Lee和Sanjian Chen,都是CPS领域国际上的著名学者,他们开设的课程内容,很多就是他们多年科学研究的成果。可见,在美国这些一流大学,就没有“重教学”还是“重科研”这类问题。对大学教授而言,做研究首先是为了教学,好的教学必须依靠自身深入的学术研究,没有研究的教学不可能产生出高水平的教学效果。这与我们教学中的“排课”有本质的不同,我们是“分配教学任务”,并不真正关心主讲教师对该课程所涉及的核心内容是否有研究。于是,“照本宣科”就成常态之势。
6) 教学投入充足,极为重视本科教学,认为教授的天职就是教学。
而科研是属于教授的个人兴趣与爱好。学校当然支持教授的研究工作,因为没有研究的教学,教学的水平和效果无法保证,但绝不能因为科研而损害教学的利益。许多教授的工资是按本科教学的工作任务发放的。教授必须按照本科的教学标准和要求完成教学任务,否则就有可能拿不到工资。对课程本身投入巨大,学校和院系在本科生课程投入上毫不吝啬。据了解,MIT电子工程系每年在一门课程上的投入就高达30万美元,少的也有10多万美元。这些经费并不包含教师的工资,是纯粹投入到课程本身的,分配给各个学生小组来使用。
7) 非常完善的TA(Teaching Assistant)制度。
如美国CMU的计算机系统导论课程,一门课程有3个教师,12个TA,学生不过200。TA对一门课的教学起到非常大的作用。国内还很少有完整TA制度的大学。国内大学有“三助”制度,但这与现代大学的TA制度不是一回事。
8) 重视对课程教学质量的评估与监控。
美国好大学极为重视课程教学质量评估工作,有成熟的体系和方法,如同行之间的评估、高级职员对低级职员的评估、学生对老师的评估等。而课程的评估也是工程教与专业认证的重要内容,而国内在这方面几乎还是空白。
我们对报告关于专业课程规划与教学方面的解读,主要是从“办学者”和“教学者”的角度展开的(我们将在后续的文章中着重从学生的角度进一步解读报告)。报告对我们建构“新工科”专业课程体系,有非常重要的借鉴意义。“新工科”之所以“新”,必须落实到具体课程的设置与课程的教学。国内在专业课程的设置上,考虑专业的学科属性和要求多,考虑企业或社会的需求太少,“新工科”建设应着力弥补这方面的不足。国内在专业课程的教学上,实际状况非常严峻,改革已刻不容缓。“新工科”建设或许是个契机。
我们在保证本科教育质量方面,的确还存在着相当大的差距。这个差距可能不是与世界一流大学的差距,而是与我们自定培养目标的差距。改革开放40年来,世界先进大学的样子我们基本上都学来了,学分制、GPA(平均绩点)、自由选课、弹性学制、教学评估、专业认证等,但实际效果又如何呢?我们似乎打破了计划经济时代形成的教学体系,但还没有形成适应现代社会的新的教学体系。从微观上看,课程的教学模式与方法,基本上还停留在农耕时代。从宏观上看,什么样的现代大学治理机制适合我们,可能并没有完全解决,或有待进一步完善。如果我们的课程教学质量得不到基本保证,专业教育质量从何而来?没有好的教育质量,一流大学的奋斗目标能实现吗?
参考文献:
[1] The National Academies of SCIENCES ENGINEERING MEDICINE[EB/OL]. [2017-11-16]. http://www.nap.edu.
[2] 言十. 美国 21 世纪 CPS 教育报告简介[J]. 计算机教育, 2018(1): 2-9.
[3] 中国工程教育专业认证协会.工程教育认证标准[EB/OL]. [2018-1-11]http://www.ceeaa.org.cn.
[4] Carnegie Mellon University. Home[EB/OL]. [2017-11-20]. https://www.cmu.edu.
[5] Penn Engineering. Teaching[EB/OL]. [2017-11-16]. http://www.cis.upenn.edu/~lee/home/teaching/index.shtml.
[6] Chess. Introduction to embedded systems(fall 2015)[EB/OL]. [2017-11-18]. https://chess.eecs.berkeley.edu/eecs149/index.html.
END
更多精彩:
到2022年建成“互联网+教育”大平台!《教育信息化2.0行动计划》来了
共612个!教育部公布首批“新工科”研究与实践项目名单(多图)
干货:教学论文福利哪里寻?精选40多张计算机教学模式图(快收藏)!
未来的所有新兴工作都需要软件工程师,《2017年美国新兴职业报告》这么分析!
计算机科学领域2017年度研究热点排行,最热的领域居然是这个!
喜讯:《计算机教育》跃居《中国学术期刊影响因子年报(人文社会科学)2017版》Q1区!